2014-03-25 131 views
1

我想将“漂亮”的网址应用到我的网站。htacess漂亮的网址

即:localhost/chess/game.php?id=10

localhost/chess/game/10 

继承人我的htaccess:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteBase /chess/ 
RewriteRule ^games$ games.php 
RewriteRule ^new$ newgame.php 
RewriteRule ^game/(\d+)*$ game.php?id=$1 

它的工作好游戏和新的,但对于游戏它让我看到网页没有造型和展示我的错误'没有游戏'

我该如何解决这个htaccess ? 我是否需要在读取get的地方更改php文件?

回答

1

这应该是你/chess/.htaccess文件:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase /chess/ 

RewriteRule ^games/?$ games.php [L] 
RewriteRule ^new/?$ newgame.php [L] 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^game/(\d+)/?$ game.php?id=$1 [L,QSA] 
  • 另外,还要确保在你的CSS使用绝对路径,JS,图片文件,而不是相对的。这意味着您必须确保这些文件的路径始于http://或斜杠/

  • 您也可以尝试在你的页面的HTML头添加此:<base href="/" />

1

造型错误可能是由于您用于样式的路径。

如果使用相对路径:styles/css.css那么这会工作在主页上很好,但如果你是从/game/访问该文件,然后浏览器将在game/styles/css.css

寻找文件假设你的风格可以通过网站的根目录访问,您可以将一个/添加到css路径的开头,以便浏览器将它们从根路径中拉出。

例子:/styles/css.css

+0

是的,可能是这个问题太。但是向我展示了我没有权限看到这个游戏的错误,所以它没有阅读这个会话 – bfmr89