我需要写一个.htaccess文件来重写所有域名之后的网址。
例如RewriteRule ^(.*)$ index.php?page=course&course=$1 [L]
但是这也会将example.com
发送到该重写的网址,我不希望这样。我希望它仅在域名之后才能重新填充它,例如example.com/CITA180
。
我知道我可以做example.com/c/CITA180
然后做RewriteRule ^c/(.*)$ index.php?page=course&course=$1 [L]
但我不想这样做,如果我不需要的话。
感谢。
答案 0 :(得分:2)
您可以使用.+
代替.*
来确保它与目标网页不匹配。您还需要RewriteCond %{REQUEST_FILENAME} !-f
条件才能避免匹配默认目标网页:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?page=course&course=$1 [L]
答案 1 :(得分:0)
添加正则表达式条件:RewriteCond %{REQUEST_FILENAME} REGEX
您的情况:RewriteCond %{REQUEST_FILENAME} [A-Z]
这将检查它是否包含任何字符。
未进行文件检查:RewriteCond %{REQUEST_FILENAME} !-f