Enabling URL Rewrite for PhpLD 3.3.0
Nginx :
Here's my configure in nginx.conf:
if (!-e $request_filename) {
rewrite ^/latest-links/.htm[l]?$ /index.php?list=latest last;
rewrite ^/top-hits/.htm[l]?$ /index.php?list=top last;
rewrite ^/latest-articles/.htm[l]?$ /index.php?list=latestarticles last;
rewrite ^/(.*)detail/link-(.*)\.htm[l]?$ /detail.php last;
rewrite ^/(.*)articles/article-(.*)/.htm[l]?$ /article.php last;
rewrite ^/(.*)authors/author-(.*)\.htm[l]?$ /author.php last;
rewrite ^/(.*)page-[0-9]+\.html$ /index.php last;
rewrite ^/(.+)\.html$ /page.php?name=$1 last;
rewrite ^/(.*)$ /index.php last;
}
Apache:
Here’s my modified .htaccess file:
#################################################
## Apache Server Settings ##
#################################################
# Prevent .htaccess and .htpasswd files from being viewed by web clients
<Files "^\.ht">
Order allow,deny
Deny from all
</Files>
# Protect files
<Files ~ "^(.*)\.(inc|inc\.php|tpl|sql)$">
Order deny,allow
Deny from all
</Files>
# Protect directories
<Files ~ "^(backup|files|images|include|lang|libs(/.+)?|temp(/.+)?|templates(/.+)?|javascripts(/.+)?)$">
Order deny,allow
Deny from all
</Files>
# Disable directory browsing
Options -Indexes
# Follow symbolic links in this directory
Options +FollowSymLinks
# Override PHP settings that cannot be changed at runtime
# (If your server supports PHP settings via htaccess you can comment following two lines off)
# php_value register_globals 0
# php_value session.auto_start 0
# Customized error messages
# ( If you are running in a subfolder please add it, example: "directory/index.php?httpstatus=404" )
ErrorDocument 404 index.php?httpstatus=404
# Set the default handler
DirectoryIndex index.php
# URL rewrite rules
<IfModule mod_rewrite.c>
RewriteEngine On
#Make sure RewriteBase points to the directory where you installed phpLD.
#Example: "/phpld" if your installation is in a "phpld" subdirectory.
#RewriteBase /
##Latest Links Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^latest-links\.htm[l]?$ index.php?list=latest [QSA,NC,L]
##Top Hits Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^top-hits\.htm[l]?$ index.php?list=top [QSA,NC,L]
##Latest Articles Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^latest-articles\.htm[l]?$ index.php?list=latestarticles [QSA,NC,L]
##Details Link Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)detail/link-(.*)\.htm[l]?$ detail.php [QSA,NC]
##Article Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)articles/article-(.*)\.htm[l]?$ article.php [QSA,NC]
##Author Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)authors/author-(.*)\.htm[l]?$ author.php [QSA,NC]
##Pagination Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)page-[0-9]+\.html$ index.php [QSA,NC,L]
##Pages redirect
RewriteCond %{REQUEST_URI} !page-[0-9]+\.html?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)\.html$ page.php?name=$1 [NC,QSA,L]
##Category redirect
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Here's my configure in nginx.conf:
if (!-e $request_filename) {
rewrite ^/latest-links/.htm[l]?$ /index.php?list=latest last;
rewrite ^/top-hits/.htm[l]?$ /index.php?list=top last;
rewrite ^/latest-articles/.htm[l]?$ /index.php?list=latestarticles last;
rewrite ^/(.*)detail/link-(.*)\.htm[l]?$ /detail.php last;
rewrite ^/(.*)articles/article-(.*)/.htm[l]?$ /article.php last;
rewrite ^/(.*)authors/author-(.*)\.htm[l]?$ /author.php last;
rewrite ^/(.*)page-[0-9]+\.html$ /index.php last;
rewrite ^/(.+)\.html$ /page.php?name=$1 last;
rewrite ^/(.*)$ /index.php last;
}
Apache:
Here’s my modified .htaccess file:
#################################################
## Apache Server Settings ##
#################################################
# Prevent .htaccess and .htpasswd files from being viewed by web clients
<Files "^\.ht">
Order allow,deny
Deny from all
</Files>
# Protect files
<Files ~ "^(.*)\.(inc|inc\.php|tpl|sql)$">
Order deny,allow
Deny from all
</Files>
# Protect directories
<Files ~ "^(backup|files|images|include|lang|libs(/.+)?|temp(/.+)?|templates(/.+)?|javascripts(/.+)?)$">
Order deny,allow
Deny from all
</Files>
# Disable directory browsing
Options -Indexes
# Follow symbolic links in this directory
Options +FollowSymLinks
# Override PHP settings that cannot be changed at runtime
# (If your server supports PHP settings via htaccess you can comment following two lines off)
# php_value register_globals 0
# php_value session.auto_start 0
# Customized error messages
# ( If you are running in a subfolder please add it, example: "directory/index.php?httpstatus=404" )
ErrorDocument 404 index.php?httpstatus=404
# Set the default handler
DirectoryIndex index.php
# URL rewrite rules
<IfModule mod_rewrite.c>
RewriteEngine On
#Make sure RewriteBase points to the directory where you installed phpLD.
#Example: "/phpld" if your installation is in a "phpld" subdirectory.
#RewriteBase /
##Latest Links Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^latest-links\.htm[l]?$ index.php?list=latest [QSA,NC,L]
##Top Hits Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^top-hits\.htm[l]?$ index.php?list=top [QSA,NC,L]
##Latest Articles Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^latest-articles\.htm[l]?$ index.php?list=latestarticles [QSA,NC,L]
##Details Link Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)detail/link-(.*)\.htm[l]?$ detail.php [QSA,NC]
##Article Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)articles/article-(.*)\.htm[l]?$ article.php [QSA,NC]
##Author Page Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)authors/author-(.*)\.htm[l]?$ author.php [QSA,NC]
##Pagination Rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)page-[0-9]+\.html$ index.php [QSA,NC,L]
##Pages redirect
RewriteCond %{REQUEST_URI} !page-[0-9]+\.html?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)\.html$ page.php?name=$1 [NC,QSA,L]
##Category redirect
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
转载声明:本文为红旗飘飘的原创文章,转载请注明原文地址,谢谢合作
上一篇
经济危机
经济危机
发表评论: