无法使用.htaccess文件重写URL

时间:2016-12-22 07:30:54

标签: php .htaccess url-rewriting

我在网站上重写网址时遇到了麻烦,使其更易于在搜索引擎上找到并且更容易找到。

我想转此:
 http://www.gamingpopulace.com/threads/index?threadName=Glitches

进入:
 http://www.gamingpopulace.com/threads/Glitches

我目前正在使用.htaccess文件:
RewriteEngine On RewriteRule ^threads/([A-Za-z0-9-]+)/?$ /threads/threadName=$1 [NC,L]

从我在其他问题中看到的情况来看,这应该有效。

出了什么问题:

当我在网址中输入http://www.gamingpopulace.com/threads/Glitches时,它只是给我一个404错误,说明页面丢失了。根据我的理解,它应该加载http://www.gamingpopulace.com/threads/index?threadName=Glitches,但使用更改的URL。虽然我可能会误解这一点。

任何帮助都是适用的 感谢

3 个答案:

答案 0 :(得分:0)

从此/

中删除([A-Za-z0-9-]+)/?$

替换

RewriteEngine On
RewriteRule ^threads/([A-Za-z0-9-]+)/?$ /threads/threadName=$1   [NC,L] 

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^threads/([^/]*)?$ /threads/threadName=$1    [L]

答案 1 :(得分:0)

您好,欢迎来到SO

(我欺骗并使用谷歌,但根据你的问题修改了信息。)

来源:How To Set Up Mod_Rewrite

RewriteEngine on
RewriteRule ^thread/([A-Za-z0-9-]+)/?$ threads/index?threadName=$1 [NC]

答案 2 :(得分:0)

我假设您的原始网址正在运行,请在root目录中尝试,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^threads/([\w-]+)?$ threads/index?threadName=$1  [QSA,NC,L]