[英]How to rename part of a url with .htaccess?
我目前对Apache的经验很少,并且对我的.htaccess文件有困难。 我的问题是:如何正确重命名下面列出的这些文件? 根据http://www.htaccesscheck.com ,我相信我的语法是正确的,但是访问这些页面时,A:由于重定向循环而无法加载该页面,或者B:该页面将不会加载,但将重定向到错误的页面。 这是此目录的当前.htaccess文件:
RewriteEngine On
RewriteBase /photos/
RewriteRule ^(.*)-(.*)$ archives.php?month=$1&year=$2 [L]
RewriteRule ^(.*)$ catpost.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ viewpost.php?id=$1 [QSA,L]
任何帮助深表感谢。
请尝试以下代码:
RewriteEngine on
RewriteBase /photos/
RewriteRule ^([0-9]{1,2})-([0-9]{4})$ archives.php?month=$1&year=$2 [L]
RewriteRule ^([0-9]+)$ catpost.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ viewpost.php?id=$1 [QSA,L]
该规则将检查是否:
您当前的.htaccess文件有一些错误,因为第二条规则是第一条规则的结果。
顺便说一句,您可以使用http://htaccess.madewithlove.be/逐步检查重写规则中的内容。
一定要写一个有效的模式
尝试这个
RewriteEngine On
RewriteBase /photos/
RewriteRule ^(.*?)-(.*?)$ archives.php?month=$1&year=$2 [L]
RewriteRule ^(.*?)$ catpost.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*?)$ viewpost.php?id=$1 [QSA,L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.